package com.quick.mybatis.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.apache.ibatis.type.JdbcType;

import com.quick.mybatis.constants.JavaType;



/**
 * 数据成员.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD,ElementType.FIELD })
public @interface Column {
	
	String name() default "";

	String fieldName() default "";
	
	String columnName() default "";

	String tableName() default "";

	boolean primaryKey() default false;
	
	JavaType javaType() default JavaType.STRING;

	JdbcType jdbcType() default JdbcType.VARCHAR;

	boolean isAllowEmptyWrite() default false;
	
	boolean isEmpty() default false;
	
	 /** 
     * 字段描述 
     * @return 
     */  
    String description() default "";  
    /** 
     * 排序字段 
     * @return 
     */  
    int order() default 0;  
    
    boolean where() default false;
	
}
